#pragma once
#include <opencv2/opencv.hpp>
class Display
{
public:
    Display();
    virtual ~Display();
    // bind window
    virtual long Bind(long hwnd, long flag) = 0;
    // unbind window
    virtual long UnBind() = 0;
    // unbind window
    // virtual long UnBind(HWND hwnd) = 0;
    virtual bool requestCapture(int x1, int y1, int w, int h, cv::Mat &img) = 0;

    long get_height()
    {
        return _height;
    }

    long get_width()
    {
        return _width;
    }
    // void getFrameInfo(FrameInfo &info);

protected:
    //
    int _render_type;

    long _width;
    long _height;

    int _client_x, _client_y;
    // need capture rect
    // RECT rect;
};
